home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / snip9_91.arc / MSC_PEEK.C < prev    next >
C/C++ Source or Header  |  1991-09-17  |  925b  |  49 lines

  1. /*
  2. **  For MSC which lacks these very basic (sic) functions
  3. **
  4. **  public domain by Bob Stout
  5. */
  6.  
  7. #include <dos.h>
  8.  
  9. #ifndef MK_FP
  10.  #define MK_FP(seg,offset) \
  11.         ((void _far *)(((unsigned long)(seg)<<16) | (unsigned)(offset)))
  12. #endif
  13.  
  14. unsigned char peekb(unsigned seg, unsigned ofs)
  15. {
  16.         unsigned char far *ptr;
  17.  
  18.         FP_SEG(ptr) = seg;
  19.         FP_OFF(ptr) = ofs;
  20.         return *ptr;
  21. }
  22.  
  23. unsigned peek(unsigned seg, unsigned ofs)
  24. {
  25.         unsigned far *ptr;
  26.  
  27.         FP_SEG(ptr) = seg;
  28.         FP_OFF(ptr) = ofs;
  29.         return *ptr;
  30. }
  31.  
  32. void pokeb(unsigned seg, unsigned ofs, unsigned char ch)
  33. {
  34.         unsigned char far *ptr;
  35.  
  36.         FP_SEG(ptr) = seg;
  37.         FP_OFF(ptr) = ofs;
  38.         *ptr = ch;
  39. }
  40.  
  41. void poke(unsigned seg, unsigned ofs, unsigned num)
  42. {
  43.         unsigned far *ptr;
  44.  
  45.         FP_SEG(ptr) = seg;
  46.         FP_OFF(ptr) = ofs;
  47.         *ptr = num;
  48. }
  49.